package com.itheima.day11.charstream.test1;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

public class Test {
    public static void main(String[] args) throws UnsupportedEncodingException {
        // 编码
        // method1();


        // 解码
        // method2();


    }

    private static void method2() throws UnsupportedEncodingException {
    /*解码：
    String​(byte[] bytes)：通过使用平台的默认字符集解码指定的字节数组来构造新的 String
    String​(byte[] bytes, String charsetName)：通过指定的字符集解码指定的字节数组来构造新的 String*/
        byte[] bytes1 = {-26, -118, -118, -28, -67, -96, -25, -69, -103, -25, -68, -86, -27, -107, -90}; // 默认utf-8
        byte[] bytes2 = {-80, -47, -60, -29, -72, -8, -25, -47, -64, -78}; // 指定gbk
        String s1 = new String(bytes1);
        System.out.println(s1); // 把你给缪啦
        String s2 = new String(bytes1,"GBK");
        System.out.println(s2); // 鎶婁綘缁欑吉鍟�

        String s3 = new String(bytes2);
        System.out.println(s3); // ���������
        String s4 = new String(bytes2,"GBK");
        System.out.println(s4); // 把你给缪啦
    }

    private static void method1() throws UnsupportedEncodingException {
    /*编码：
    byte[] getBytes​()：使用平台的默认字符集将该 String编码为一系列字节，将结果存储到新的字节数组中
    byte[] getBytes​(String charsetName)：使用指定的字符集将该 String编码为一系列字节，将结果存储到新的字节数组中*/
        String s = "把你给缪啦";
        // 使用默认IDEA编码方式 UTF-8 进行编码，单个字节长度为3
        byte[] bytes1 = s.getBytes();
        System.out.println(Arrays.toString(bytes1));    // [-26, -118, -118, -28, -67, -96, -25, -69, -103, -25, -68, -86, -27, -107, -90]

        byte[] bytes2 = s.getBytes("GBK");
        System.out.println(Arrays.toString(bytes2));    // [-80, -47, -60, -29, -72, -8, -25, -47, -64, -78]
    }
}
